<%--
JSP指令：
    告诉浏览器如何处理当前的jsp页面
    可以写jsp页面的任何地方。

    jsp的指令 是以
    <%@  开始    以%>
    可以写在多行
page:定义jps页面的属性
        contentType：定义当前也是的字符集和文本类型
        language：定义当前页面是使用寿命服务器语言，只有一个值  java
        autoFlush：是否自动缓存
        buffer：缓存大小
        import：导入一个java类到当前的jsp页面，和java文件中的import功能相同。
        errorPage: 定义当前页面发送错误时，转发到哪一个错误页面。
        isErrorPage="true"   :在错误页面是否创建Exception 的对象。
        pageEncoding:页面的编码
        session="true"：表示回话的对象
                    trur:表示在当前页是否可以使用jsp的内置session对象。 默认值为true
                    session="false"  不可以使用内置的session对象


include:
        表示在当前的也是引入一个页面。
           file：定义引入页面的地址。 转发请求。
taglib：引入标签。
        在EL和JSTL标签时使用。


jsp的标签：
        <jsp:forward page="转发的页面地址"></jsp:forward> 页面转发。
        <jsp:include page="/null.jsp" ></jsp:include>
--%>
<%@ page  contentType="text/html;charset=UTF-8"  %>
<%@page language="java"%>
<%@ page import="java.util.Date,java.util.List" %>

<!DOCTYPE html>

<html lang="en">
<head>
    <meta charset="utf-8">
    <title>Insert title here</title>
</head>
<body>
Test 页面开始
        <%
            Date d = null;//new Date();
            //int a =10/0;
            //d.getTime();

        %>
<!--静态引入方式。
    会在当前页面的源码中，把包含引入页面的源码。
-->


Test 页面结束

<!--
    * javax.servlet.http.HttpServletRequest request
                    :和Servelt中的HttpServletRequest对象类型相同。用法和Servelt中完全相同。
     javax.servlet.http.HttpServletResponse response
                     :和Servelt中的HttpServletResponse对象类型相同。用法和Servelt中完全相同。
                        但是在jsp页面中几乎不时用response对象
    *javax.servlet.jsp.PageContext pageContext;
                    ：它是PageContext的对象，表示当前jsp的上下文，
                        ServletContext：获得当前工程的上下文对象
                                        获得当前Servlet的注册的名称，注册时设置的初始化参数。
                    可以获得其他8个内置对象
                        getException()
                        getPage()
                        ServletRequest getRequest()

                        .....




   *  javax.servlet.http.HttpSession session = null;
                    表示一次回话，是HttpSession的对象。
   *  javax.servlet.ServletContext application;
                    是ServletContext的对象，在一个工程中该对象唯一的。

     javax.servlet.ServletConfig config;
                    是ServletConfig是对象，和Servelt中ServletConfig对象相同，可以获得当前jsp页面注册时的初始化参数。
                    如果需要获得jsp的初始化参数，则该jsp页面必须在web.xml文件中注册。
                    <servlet>
                        <servlet-name>jsp</servlet-name>
                        <jsp-file>/jsp/TestJsp.jsp</jsp-file>
                        <init-param>
                            <param-name>jspParam1</param-name>
                            <param-value>v1</param-value>
                        </init-param>
                        <init-param>
                            <param-name>jspParam2</param-name>
                            <param-value>v2</param-value>
                        </init-param>
                        </servlet>

                        <servlet-mapping>
                            <servlet-name>jsp</servlet-name>
                            <url-pattern>/testJsp</url-pattern>
                        </servlet-mapping>


     * javax.servlet.jsp.JspWriter out = null;
                是JspWriter的对象，把信息输出到jsp页面
     java.lang.Object page = this;
                page:表示当前页面的对象，只不过类型为Object，所有只能使用Object类中的方法。


     * java.lang.Exception exception;
                异常对象。

4大作用域：
            pageContext:范围当前页面
            reques:同一次请求
            session：同一次回话
            application：整个工程


        setAttribute("属性名",1);//向域中添加一个属性
        getAttribute("属性名");//在域中获得指定属性名对应属性值。
        removeAttribute("属性名");//在域中移除指定的属性。
-->
<h1>TestJsp  Page</h1>
    <%
            pageContext.setAttribute("pageContext","pageContextValue");
            request.setAttribute("request","requesValue");
            session.setAttribute("session","sessionValues");
            application.setAttribute("application","applicationValue");

            //application.removeAttribute("application");
        application.setAttribute("application","applicationValue123");

%>
<br>
pageContext:<%=pageContext.getAttribute("pageContext")%><br>
request:<%=request.getAttribute("request")%><br>
session:<%=session.getAttribute("session")%><br>
application:<%=application.getAttribute("application")%><br>

<%--<a href="/testServlet">To Test</a>--%>
<jsp:forward page="/testServlet"></jsp:forward>
</body>
</html>